//package gui;
//
//import ids.SensorType;
//
//import java.awt.Dimension;
//
//import java.io.File;
//import java.io.FileNotFoundException;
//import java.io.FileOutputStream;
//import java.io.IOException;
//import java.io.ObjectOutputStream;
//import java.util.Scanner;
//
//import javax.swing.JFileChooser;
//import javax.swing.SpinnerNumberModel;
//import javax.swing.UIManager;
//import javax.swing.UnsupportedLookAndFeelException;
//
//import evo.Algorithms;
//import evo.EnuSearch;
//import evo.GASearch;
//import evo.HCSearch;
//import evo.SASearch;
//import evo.TechInit;
//
//import util.FileReader;
//import util.SSIDException;
//import util.StopWatch;
//
//public class StartWin32 extends javax.swing.JFrame {
//
//	private static final long serialVersionUID = 1L;
//
//	private static String SWAP = "swap.dat";
//
//	private javax.swing.JFileChooser fileChooser;
//	private FileReader fileReader;
//	private Console console;
//	private SensorType sensortype;
//	private Algorithms algorithm;
//	private String sensortypestr;
//	private boolean lock = false;
//	private boolean ready = false;
//	private boolean gaReady = false;
//
//	/** Creates new form MainJFrame */
//	public StartWin32() {
//		initComponents();
//	}
//
//	/**
//	 * This method is called from within the constructor to initialize the form.
//	 * WARNING: Do NOT modify this code. The content of this method is always
//	 * regenerated by the Form Editor.
//	 */
//	private void initComponents() {
//
//		buttonGroup_sensors = new javax.swing.ButtonGroup();
//		buttonGroup_algorithms = new javax.swing.ButtonGroup();
//		networkPanel = new javax.swing.JPanel();
//		button_Trace = new javax.swing.JButton();
//		textField_TraceFile = new javax.swing.JTextField();
//		button_Topology = new javax.swing.JButton();
//		textField_TopologyFile = new javax.swing.JTextField();
//		button_Read = new javax.swing.JButton();
//		sensorPanel = new javax.swing.JPanel();
//		label_type = new javax.swing.JLabel();
//		radioButton_PortSensor = new javax.swing.JRadioButton();
//		radioButton_ProbeSensor = new javax.swing.JRadioButton();
//		label_amount = new javax.swing.JLabel();
//		jSpinner1 = new javax.swing.JSpinner(
//				new SpinnerNumberModel(1, 1, 99, 1));
//		searchPanel = new javax.swing.JPanel();
//		radioButton_Enu = new javax.swing.JRadioButton();
//		radioButton_HC = new javax.swing.JRadioButton();
//		radioButton_SA = new javax.swing.JRadioButton();
//		radioButton_GA = new javax.swing.JRadioButton();
//		jLabel1 = new javax.swing.JLabel();
//		jLabel2 = new javax.swing.JLabel();
//		jLabel3 = new javax.swing.JLabel();
//		jLabel4 = new javax.swing.JLabel();
//		jLabel5 = new javax.swing.JLabel();
//		jLabel6 = new javax.swing.JLabel();
//		jTextField1 = new javax.swing.JTextField();
//		jTextField2 = new javax.swing.JTextField();
//		jTextField3 = new javax.swing.JTextField();
//		jTextField4 = new javax.swing.JTextField();
//		jTextField5 = new javax.swing.JTextField();
//		jTextField6 = new javax.swing.JTextField();
//		button_GAParamsFile = new javax.swing.JButton();
//		textField_GAParamsFile = new javax.swing.JTextField();
//		infoPanel = new javax.swing.JPanel();
//		scrollPane = new javax.swing.JScrollPane();
//		textArea = new javax.swing.JTextArea();
//		controlPanel = new javax.swing.JPanel();
//		button_search = new javax.swing.JButton();
//		button_reset = new javax.swing.JButton();
//		menuBar = new javax.swing.JMenuBar();
//		menu_File = new javax.swing.JMenu();
//		jMenuItem4 = new javax.swing.JMenuItem();
//		jMenuItem1 = new javax.swing.JMenuItem();
//		menu_Help = new javax.swing.JMenu();
//		jMenuItem2 = new javax.swing.JMenuItem();
//		jMenuItem3 = new javax.swing.JMenuItem();
//
//		setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
//		setTitle("System-Smart Intrusion Detection Demo");
//		setResizable(false);
//
//		networkPanel.setBorder(javax.swing.BorderFactory
//				.createTitledBorder("Network Information"));
//
//		button_Trace.setText("Trace File");
//		button_Trace.addActionListener(new java.awt.event.ActionListener() {
//			public void actionPerformed(java.awt.event.ActionEvent evt) {
//				button_TraceActionPerformed(evt);
//			}
//		});
//
//		button_Topology.setText("Topology File");
//		button_Topology.addActionListener(new java.awt.event.ActionListener() {
//			public void actionPerformed(java.awt.event.ActionEvent evt) {
//				button_TopologyActionPerformed(evt);
//			}
//		});
//
//		button_Read.setText("Read");
//		button_Read.addActionListener(new java.awt.event.ActionListener() {
//			public void actionPerformed(java.awt.event.ActionEvent evt) {
//				button_ReadActionPerformed(evt);
//			}
//		});
//
//		javax.swing.GroupLayout networkPanelLayout = new javax.swing.GroupLayout(
//				networkPanel);
//		networkPanel.setLayout(networkPanelLayout);
//		networkPanelLayout
//				.setHorizontalGroup(networkPanelLayout
//						.createParallelGroup(
//								javax.swing.GroupLayout.Alignment.LEADING)
//						.addGroup(
//								networkPanelLayout
//										.createSequentialGroup()
//										.addContainerGap()
//										.addGroup(
//												networkPanelLayout
//														.createParallelGroup(
//																javax.swing.GroupLayout.Alignment.LEADING)
//														.addComponent(
//																button_Trace,
//																javax.swing.GroupLayout.Alignment.TRAILING)
//														.addComponent(
//																button_Topology,
//																javax.swing.GroupLayout.Alignment.TRAILING))
//										.addPreferredGap(
//												javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//										.addGroup(
//												networkPanelLayout
//														.createParallelGroup(
//																javax.swing.GroupLayout.Alignment.LEADING)
//														.addComponent(
//																textField_TraceFile,
//																javax.swing.GroupLayout.PREFERRED_SIZE,
//																javax.swing.GroupLayout.DEFAULT_SIZE,
//																javax.swing.GroupLayout.PREFERRED_SIZE)
//														.addComponent(
//																textField_TopologyFile,
//																javax.swing.GroupLayout.DEFAULT_SIZE,
//																245,
//																Short.MAX_VALUE))
//										.addPreferredGap(
//												javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//										.addComponent(
//												button_Read,
//												javax.swing.GroupLayout.PREFERRED_SIZE,
//												75,
//												javax.swing.GroupLayout.PREFERRED_SIZE)
//										.addContainerGap()));
//
//		networkPanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL,
//				new java.awt.Component[] { textField_TopologyFile,
//						textField_TraceFile });
//
//		networkPanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL,
//				new java.awt.Component[] { button_Topology, button_Trace });
//
//		networkPanelLayout
//				.setVerticalGroup(networkPanelLayout
//						.createParallelGroup(
//								javax.swing.GroupLayout.Alignment.LEADING)
//						.addGroup(
//								networkPanelLayout
//										.createSequentialGroup()
//										.addGroup(
//												networkPanelLayout
//														.createParallelGroup(
//																javax.swing.GroupLayout.Alignment.LEADING)
//														.addGroup(
//																networkPanelLayout
//																		.createSequentialGroup()
//																		.addGroup(
//																				networkPanelLayout
//																						.createParallelGroup(
//																								javax.swing.GroupLayout.Alignment.BASELINE)
//																						.addComponent(
//																								button_Trace)
//																						.addComponent(
//																								textField_TraceFile,
//																								javax.swing.GroupLayout.PREFERRED_SIZE,
//																								javax.swing.GroupLayout.DEFAULT_SIZE,
//																								javax.swing.GroupLayout.PREFERRED_SIZE))
//																		.addPreferredGap(
//																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//																		.addGroup(
//																				networkPanelLayout
//																						.createParallelGroup(
//																								javax.swing.GroupLayout.Alignment.BASELINE)
//																						.addComponent(
//																								button_Topology)
//																						.addComponent(
//																								textField_TopologyFile,
//																								javax.swing.GroupLayout.PREFERRED_SIZE,
//																								javax.swing.GroupLayout.DEFAULT_SIZE,
//																								javax.swing.GroupLayout.PREFERRED_SIZE)))
//														.addComponent(
//																button_Read,
//																javax.swing.GroupLayout.DEFAULT_SIZE,
//																52,
//																Short.MAX_VALUE))
//										.addContainerGap()));
//
//		networkPanelLayout.linkSize(javax.swing.SwingConstants.VERTICAL,
//				new java.awt.Component[] { textField_TopologyFile,
//						textField_TraceFile });
//
//		networkPanelLayout.linkSize(javax.swing.SwingConstants.VERTICAL,
//				new java.awt.Component[] { button_Topology, button_Trace });
//
//		sensorPanel.setBorder(javax.swing.BorderFactory
//				.createTitledBorder("Sensors Preference"));
//
//		label_type.setText("Type:");
//
//		buttonGroup_sensors.add(radioButton_PortSensor);
//		radioButton_PortSensor.setText("Port Sensor");
//		radioButton_PortSensor
//				.addActionListener(new java.awt.event.ActionListener() {
//					public void actionPerformed(java.awt.event.ActionEvent evt) {
//						radioButton_PortSensorActionPerformed(evt);
//					}
//				});
//
//		buttonGroup_sensors.add(radioButton_ProbeSensor);
//		radioButton_ProbeSensor.setText("Probe Sensor");
//		radioButton_ProbeSensor
//				.addActionListener(new java.awt.event.ActionListener() {
//					public void actionPerformed(java.awt.event.ActionEvent evt) {
//						radioButton_ProbeSensorActionPerformed(evt);
//					}
//				});
//
//		radioButton_PortSensor.doClick();
//
//		label_amount.setText("Amount:");
//
//		javax.swing.GroupLayout sensorPanelLayout = new javax.swing.GroupLayout(
//				sensorPanel);
//		sensorPanel.setLayout(sensorPanelLayout);
//		sensorPanelLayout
//				.setHorizontalGroup(sensorPanelLayout
//						.createParallelGroup(
//								javax.swing.GroupLayout.Alignment.LEADING)
//						.addGroup(
//								sensorPanelLayout
//										.createSequentialGroup()
//										.addContainerGap()
//										.addComponent(label_type)
//										.addPreferredGap(
//												javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//										.addComponent(radioButton_PortSensor)
//										.addPreferredGap(
//												javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
//										.addComponent(radioButton_ProbeSensor)
//										.addPreferredGap(
//												javax.swing.LayoutStyle.ComponentPlacement.RELATED,
//												138, Short.MAX_VALUE)
//										.addComponent(label_amount)
//										.addPreferredGap(
//												javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//										.addComponent(
//												jSpinner1,
//												javax.swing.GroupLayout.PREFERRED_SIZE,
//												44,
//												javax.swing.GroupLayout.PREFERRED_SIZE)
//										.addContainerGap()));
//		sensorPanelLayout
//				.setVerticalGroup(sensorPanelLayout
//						.createParallelGroup(
//								javax.swing.GroupLayout.Alignment.LEADING)
//						.addGroup(
//								sensorPanelLayout
//										.createSequentialGroup()
//										.addGroup(
//												sensorPanelLayout
//														.createParallelGroup(
//																javax.swing.GroupLayout.Alignment.BASELINE)
//														.addComponent(
//																label_type)
//														.addComponent(
//																jSpinner1,
//																javax.swing.GroupLayout.PREFERRED_SIZE,
//																javax.swing.GroupLayout.DEFAULT_SIZE,
//																javax.swing.GroupLayout.PREFERRED_SIZE)
//														.addComponent(
//																label_amount)
//														.addComponent(
//																radioButton_PortSensor)
//														.addComponent(
//																radioButton_ProbeSensor))
//										.addContainerGap(
//												javax.swing.GroupLayout.DEFAULT_SIZE,
//												Short.MAX_VALUE)));
//
//		sensorPanelLayout
//				.linkSize(javax.swing.SwingConstants.VERTICAL,
//						new java.awt.Component[] { jSpinner1, label_amount,
//								label_type });
//
//		searchPanel.setBorder(javax.swing.BorderFactory
//				.createTitledBorder("Search Algorithms"));
//
//		buttonGroup_algorithms.add(radioButton_Enu);
//		radioButton_Enu.setText("Enumerate");
//		radioButton_Enu.addActionListener(new java.awt.event.ActionListener() {
//			public void actionPerformed(java.awt.event.ActionEvent evt) {
//				radioButton_EnuActionPerformed(evt);
//			}
//		});
//
//		buttonGroup_algorithms.add(radioButton_HC);
//		radioButton_HC.setText("Hill Climbing");
//		radioButton_HC.addActionListener(new java.awt.event.ActionListener() {
//			public void actionPerformed(java.awt.event.ActionEvent evt) {
//				radioButton_HCActionPerformed(evt);
//			}
//		});
//
//		buttonGroup_algorithms.add(radioButton_SA);
//		radioButton_SA.setText("Simulated Annealing");
//		radioButton_SA.addActionListener(new java.awt.event.ActionListener() {
//			public void actionPerformed(java.awt.event.ActionEvent evt) {
//				radioButton_SAActionPerformed(evt);
//			}
//		});
//
//		buttonGroup_algorithms.add(radioButton_GA);
//		radioButton_GA.setText("Genetic Algorithm");
//		radioButton_GA.addActionListener(new java.awt.event.ActionListener() {
//			public void actionPerformed(java.awt.event.ActionEvent evt) {
//				radioButton_GAActionPerformed(evt);
//			}
//		});
//
//		radioButton_Enu.doClick();
//
//		jLabel1.setText("Cooling Rate (%):");
//
//		jLabel2.setText("Temperature Cycles:");
//
//		jLabel3.setText("Number of Runs:");
//
//		jLabel4.setText("Moves at Each Temperature:");
//
//		jLabel5.setText("Idel Temperature Cycles:");
//
//		jLabel6.setText("Seed:");
//
//		jTextField1.setEditable(false);
//
//		jTextField2.setEditable(false);
//
//		jTextField3.setEditable(false);
//
//		jTextField4.setEditable(false);
//
//		jTextField5.setEditable(false);
//
//		jTextField6.setEditable(false);
//
//		button_GAParamsFile.setText("GA Params File");
//		button_GAParamsFile
//				.addActionListener(new java.awt.event.ActionListener() {
//					public void actionPerformed(java.awt.event.ActionEvent evt) {
//						button_GAParamsFileActionPerformed(evt);
//					}
//				});
//
//		textField_GAParamsFile.setEditable(false);
//
//		javax.swing.GroupLayout searchPanelLayout = new javax.swing.GroupLayout(
//				searchPanel);
//		searchPanel.setLayout(searchPanelLayout);
//		searchPanelLayout
//				.setHorizontalGroup(searchPanelLayout
//						.createParallelGroup(
//								javax.swing.GroupLayout.Alignment.LEADING)
//						.addGroup(
//								searchPanelLayout
//										.createSequentialGroup()
//										.addContainerGap()
//										.addGroup(
//												searchPanelLayout
//														.createParallelGroup(
//																javax.swing.GroupLayout.Alignment.LEADING)
//														.addGroup(
//																javax.swing.GroupLayout.Alignment.TRAILING,
//																searchPanelLayout
//																		.createSequentialGroup()
//																		.addComponent(
//																				jLabel3)
//																		.addPreferredGap(
//																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//																		.addComponent(
//																				jTextField5,
//																				javax.swing.GroupLayout.PREFERRED_SIZE,
//																				javax.swing.GroupLayout.DEFAULT_SIZE,
//																				javax.swing.GroupLayout.PREFERRED_SIZE))
//														.addGroup(
//																searchPanelLayout
//																		.createSequentialGroup()
//																		.addGroup(
//																				searchPanelLayout
//																						.createParallelGroup(
//																								javax.swing.GroupLayout.Alignment.LEADING)
//																						.addComponent(
//																								radioButton_Enu)
//																						.addComponent(
//																								radioButton_HC)
//																						.addComponent(
//																								radioButton_SA)
//																						.addComponent(
//																								radioButton_GA))
//																		.addPreferredGap(
//																				javax.swing.LayoutStyle.ComponentPlacement.RELATED,
//																				94,
//																				Short.MAX_VALUE)
//																		.addGroup(
//																				searchPanelLayout
//																						.createParallelGroup(
//																								javax.swing.GroupLayout.Alignment.TRAILING)
//																						.addComponent(
//																								jLabel1)
//																						.addComponent(
//																								jLabel2)
//																						.addComponent(
//																								jLabel4)
//																						.addComponent(
//																								jLabel5))
//																		.addPreferredGap(
//																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//																		.addGroup(
//																				searchPanelLayout
//																						.createParallelGroup(
//																								javax.swing.GroupLayout.Alignment.LEADING)
//																						.addComponent(
//																								jTextField1,
//																								javax.swing.GroupLayout.Alignment.TRAILING,
//																								javax.swing.GroupLayout.PREFERRED_SIZE,
//																								69,
//																								javax.swing.GroupLayout.PREFERRED_SIZE)
//																						.addComponent(
//																								jTextField2,
//																								javax.swing.GroupLayout.Alignment.TRAILING,
//																								javax.swing.GroupLayout.PREFERRED_SIZE,
//																								javax.swing.GroupLayout.DEFAULT_SIZE,
//																								javax.swing.GroupLayout.PREFERRED_SIZE)
//																						.addComponent(
//																								jTextField3,
//																								javax.swing.GroupLayout.Alignment.TRAILING,
//																								javax.swing.GroupLayout.PREFERRED_SIZE,
//																								javax.swing.GroupLayout.DEFAULT_SIZE,
//																								javax.swing.GroupLayout.PREFERRED_SIZE)
//																						.addComponent(
//																								jTextField4,
//																								javax.swing.GroupLayout.Alignment.TRAILING,
//																								javax.swing.GroupLayout.PREFERRED_SIZE,
//																								javax.swing.GroupLayout.DEFAULT_SIZE,
//																								javax.swing.GroupLayout.PREFERRED_SIZE)))
//														.addGroup(
//																javax.swing.GroupLayout.Alignment.TRAILING,
//																searchPanelLayout
//																		.createSequentialGroup()
//																		.addComponent(
//																				button_GAParamsFile)
//																		.addPreferredGap(
//																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//																		.addComponent(
//																				textField_GAParamsFile,
//																				javax.swing.GroupLayout.DEFAULT_SIZE,
//																				199,
//																				Short.MAX_VALUE)
//																		.addGap(
//																				18,
//																				18,
//																				18)
//																		.addComponent(
//																				jLabel6)
//																		.addPreferredGap(
//																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//																		.addComponent(
//																				jTextField6,
//																				javax.swing.GroupLayout.PREFERRED_SIZE,
//																				javax.swing.GroupLayout.DEFAULT_SIZE,
//																				javax.swing.GroupLayout.PREFERRED_SIZE)))
//										.addContainerGap()));
//
//		searchPanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL,
//				new java.awt.Component[] { radioButton_Enu, radioButton_GA,
//						radioButton_HC, radioButton_SA });
//
//		searchPanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL,
//				new java.awt.Component[] { jTextField1, jTextField2,
//						jTextField3, jTextField4, jTextField5, jTextField6 });
//
//		searchPanelLayout
//				.setVerticalGroup(searchPanelLayout
//						.createParallelGroup(
//								javax.swing.GroupLayout.Alignment.LEADING)
//						.addGroup(
//								searchPanelLayout
//										.createSequentialGroup()
//										.addGroup(
//												searchPanelLayout
//														.createParallelGroup(
//																javax.swing.GroupLayout.Alignment.LEADING)
//														.addGroup(
//																searchPanelLayout
//																		.createSequentialGroup()
//																		.addGroup(
//																				searchPanelLayout
//																						.createParallelGroup(
//																								javax.swing.GroupLayout.Alignment.BASELINE)
//																						.addComponent(
//																								jTextField1,
//																								javax.swing.GroupLayout.PREFERRED_SIZE,
//																								javax.swing.GroupLayout.DEFAULT_SIZE,
//																								javax.swing.GroupLayout.PREFERRED_SIZE)
//																						.addComponent(
//																								jLabel1,
//																								javax.swing.GroupLayout.PREFERRED_SIZE,
//																								17,
//																								javax.swing.GroupLayout.PREFERRED_SIZE))
//																		.addPreferredGap(
//																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//																		.addGroup(
//																				searchPanelLayout
//																						.createParallelGroup(
//																								javax.swing.GroupLayout.Alignment.BASELINE)
//																						.addComponent(
//																								jTextField2,
//																								javax.swing.GroupLayout.PREFERRED_SIZE,
//																								javax.swing.GroupLayout.DEFAULT_SIZE,
//																								javax.swing.GroupLayout.PREFERRED_SIZE)
//																						.addComponent(
//																								jLabel2,
//																								javax.swing.GroupLayout.PREFERRED_SIZE,
//																								17,
//																								javax.swing.GroupLayout.PREFERRED_SIZE))
//																		.addPreferredGap(
//																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//																		.addGroup(
//																				searchPanelLayout
//																						.createParallelGroup(
//																								javax.swing.GroupLayout.Alignment.BASELINE)
//																						.addComponent(
//																								jTextField3,
//																								javax.swing.GroupLayout.PREFERRED_SIZE,
//																								javax.swing.GroupLayout.DEFAULT_SIZE,
//																								javax.swing.GroupLayout.PREFERRED_SIZE)
//																						.addComponent(
//																								jLabel4,
//																								javax.swing.GroupLayout.PREFERRED_SIZE,
//																								17,
//																								javax.swing.GroupLayout.PREFERRED_SIZE))
//																		.addPreferredGap(
//																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//																		.addGroup(
//																				searchPanelLayout
//																						.createParallelGroup(
//																								javax.swing.GroupLayout.Alignment.BASELINE)
//																						.addComponent(
//																								jTextField4,
//																								javax.swing.GroupLayout.PREFERRED_SIZE,
//																								javax.swing.GroupLayout.DEFAULT_SIZE,
//																								javax.swing.GroupLayout.PREFERRED_SIZE)
//																						.addComponent(
//																								jLabel5,
//																								javax.swing.GroupLayout.PREFERRED_SIZE,
//																								17,
//																								javax.swing.GroupLayout.PREFERRED_SIZE))
//																		.addPreferredGap(
//																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//																		.addGroup(
//																				searchPanelLayout
//																						.createParallelGroup(
//																								javax.swing.GroupLayout.Alignment.BASELINE)
//																						.addComponent(
//																								jTextField5,
//																								javax.swing.GroupLayout.PREFERRED_SIZE,
//																								javax.swing.GroupLayout.DEFAULT_SIZE,
//																								javax.swing.GroupLayout.PREFERRED_SIZE)
//																						.addComponent(
//																								jLabel3)))
//														.addGroup(
//																searchPanelLayout
//																		.createSequentialGroup()
//																		.addComponent(
//																				radioButton_Enu)
//																		.addPreferredGap(
//																				javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
//																		.addComponent(
//																				radioButton_HC)
//																		.addPreferredGap(
//																				javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
//																		.addComponent(
//																				radioButton_SA)
//																		.addPreferredGap(
//																				javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
//																		.addComponent(
//																				radioButton_GA)))
//										.addPreferredGap(
//												javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//										.addGroup(
//												searchPanelLayout
//														.createParallelGroup(
//																javax.swing.GroupLayout.Alignment.BASELINE)
//														.addComponent(
//																jTextField6,
//																javax.swing.GroupLayout.PREFERRED_SIZE,
//																javax.swing.GroupLayout.DEFAULT_SIZE,
//																javax.swing.GroupLayout.PREFERRED_SIZE)
//														.addComponent(jLabel6)
//														.addComponent(
//																button_GAParamsFile)
//														.addComponent(
//																textField_GAParamsFile,
//																javax.swing.GroupLayout.PREFERRED_SIZE,
//																javax.swing.GroupLayout.DEFAULT_SIZE,
//																javax.swing.GroupLayout.PREFERRED_SIZE))
//										.addContainerGap()));
//
//		searchPanelLayout.linkSize(javax.swing.SwingConstants.VERTICAL,
//				new java.awt.Component[] { radioButton_Enu, radioButton_GA,
//						radioButton_HC, radioButton_SA });
//
//		searchPanelLayout.linkSize(javax.swing.SwingConstants.VERTICAL,
//				new java.awt.Component[] { jLabel1, jLabel2, jLabel3, jLabel4,
//						jLabel5, jLabel6, jTextField1, jTextField2,
//						jTextField3, jTextField4, jTextField5, jTextField6 });
//
//		infoPanel.setBorder(javax.swing.BorderFactory
//				.createTitledBorder("Runtime Information"));
//
//		textArea.setColumns(20);
//		textArea.setEditable(false);
//		textArea.setLineWrap(true);
//		textArea.setRows(5);
//		textArea.setWrapStyleWord(true);
//		scrollPane.setViewportView(textArea);
//
//		console = new Console(textArea);
//
//		javax.swing.GroupLayout infoPanelLayout = new javax.swing.GroupLayout(
//				infoPanel);
//		infoPanel.setLayout(infoPanelLayout);
//		infoPanelLayout.setHorizontalGroup(infoPanelLayout.createParallelGroup(
//				javax.swing.GroupLayout.Alignment.LEADING).addComponent(
//				scrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 249,
//				Short.MAX_VALUE));
//		infoPanelLayout.setVerticalGroup(infoPanelLayout.createParallelGroup(
//				javax.swing.GroupLayout.Alignment.LEADING).addComponent(
//				scrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 401,
//				Short.MAX_VALUE));
//
//		controlPanel.setBorder(javax.swing.BorderFactory
//				.createTitledBorder("Control Panel"));
//
//		button_search.setText("Search");
//		button_search.addActionListener(new java.awt.event.ActionListener() {
//			public void actionPerformed(java.awt.event.ActionEvent evt) {
//				button_searchActionPerformed(evt);
//			}
//		});
//
//		button_reset.setText("Reset");
//		button_reset.addActionListener(new java.awt.event.ActionListener() {
//			public void actionPerformed(java.awt.event.ActionEvent evt) {
//				button_resetActionPerformed(evt);
//			}
//		});
//
//		javax.swing.GroupLayout controlPanelLayout = new javax.swing.GroupLayout(
//				controlPanel);
//		controlPanel.setLayout(controlPanelLayout);
//		controlPanelLayout
//				.setHorizontalGroup(controlPanelLayout
//						.createParallelGroup(
//								javax.swing.GroupLayout.Alignment.LEADING)
//						.addGroup(
//								javax.swing.GroupLayout.Alignment.TRAILING,
//								controlPanelLayout
//										.createSequentialGroup()
//										.addContainerGap(289, Short.MAX_VALUE)
//										.addComponent(button_reset)
//										.addPreferredGap(
//												javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
//										.addComponent(
//												button_search,
//												javax.swing.GroupLayout.PREFERRED_SIZE,
//												69,
//												javax.swing.GroupLayout.PREFERRED_SIZE)
//										.addContainerGap()));
//
//		controlPanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL,
//				new java.awt.Component[] { button_reset, button_search });
//
//		controlPanelLayout
//				.setVerticalGroup(controlPanelLayout
//						.createParallelGroup(
//								javax.swing.GroupLayout.Alignment.LEADING)
//						.addGroup(
//								controlPanelLayout
//										.createSequentialGroup()
//										.addGroup(
//												controlPanelLayout
//														.createParallelGroup(
//																javax.swing.GroupLayout.Alignment.BASELINE)
//														.addComponent(
//																button_search,
//																javax.swing.GroupLayout.DEFAULT_SIZE,
//																javax.swing.GroupLayout.DEFAULT_SIZE,
//																Short.MAX_VALUE)
//														.addComponent(
//																button_reset))
//										.addContainerGap()));
//
//		controlPanelLayout.linkSize(javax.swing.SwingConstants.VERTICAL,
//				new java.awt.Component[] { button_reset, button_search });
//
//		menu_File.setText("File");
//
//		jMenuItem4.setText("Save");
//		menu_File.add(jMenuItem4);
//
//		jMenuItem1.setText("Exit");
//		menu_File.add(jMenuItem1);
//
//		menuBar.add(menu_File);
//
//		menu_Help.setText("Help");
//
//		jMenuItem2.setText("Help Contents");
//		menu_Help.add(jMenuItem2);
//
//		jMenuItem3.setText("About");
//		menu_Help.add(jMenuItem3);
//
//		menuBar.add(menu_Help);
//
//		setJMenuBar(menuBar);
//
//		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
//				getContentPane());
//		getContentPane().setLayout(layout);
//		layout
//				.setHorizontalGroup(layout
//						.createParallelGroup(
//								javax.swing.GroupLayout.Alignment.LEADING)
//						.addGroup(
//								layout
//										.createSequentialGroup()
//										.addContainerGap()
//										.addGroup(
//												layout
//														.createParallelGroup(
//																javax.swing.GroupLayout.Alignment.LEADING)
//														.addGroup(
//																layout
//																		.createParallelGroup(
//																				javax.swing.GroupLayout.Alignment.TRAILING,
//																				false)
//																		.addComponent(
//																				searchPanel,
//																				javax.swing.GroupLayout.Alignment.LEADING,
//																				javax.swing.GroupLayout.DEFAULT_SIZE,
//																				javax.swing.GroupLayout.DEFAULT_SIZE,
//																				Short.MAX_VALUE)
//																		.addComponent(
//																				sensorPanel,
//																				javax.swing.GroupLayout.Alignment.LEADING,
//																				javax.swing.GroupLayout.DEFAULT_SIZE,
//																				javax.swing.GroupLayout.DEFAULT_SIZE,
//																				Short.MAX_VALUE)
//																		.addComponent(
//																				networkPanel,
//																				javax.swing.GroupLayout.Alignment.LEADING,
//																				javax.swing.GroupLayout.DEFAULT_SIZE,
//																				javax.swing.GroupLayout.DEFAULT_SIZE,
//																				Short.MAX_VALUE))
//														.addComponent(
//																controlPanel,
//																javax.swing.GroupLayout.PREFERRED_SIZE,
//																javax.swing.GroupLayout.DEFAULT_SIZE,
//																javax.swing.GroupLayout.PREFERRED_SIZE))
//										.addPreferredGap(
//												javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//										.addComponent(
//												infoPanel,
//												javax.swing.GroupLayout.DEFAULT_SIZE,
//												javax.swing.GroupLayout.DEFAULT_SIZE,
//												Short.MAX_VALUE)
//										.addContainerGap()));
//
//		layout.linkSize(javax.swing.SwingConstants.HORIZONTAL,
//				new java.awt.Component[] { controlPanel, networkPanel,
//						searchPanel, sensorPanel });
//
//		layout
//				.setVerticalGroup(layout
//						.createParallelGroup(
//								javax.swing.GroupLayout.Alignment.LEADING)
//						.addGroup(
//								layout
//										.createSequentialGroup()
//										.addContainerGap()
//										.addGroup(
//												layout
//														.createParallelGroup(
//																javax.swing.GroupLayout.Alignment.TRAILING)
//														.addComponent(
//																infoPanel,
//																javax.swing.GroupLayout.Alignment.LEADING,
//																javax.swing.GroupLayout.DEFAULT_SIZE,
//																javax.swing.GroupLayout.DEFAULT_SIZE,
//																Short.MAX_VALUE)
//														.addGroup(
//																javax.swing.GroupLayout.Alignment.LEADING,
//																layout
//																		.createSequentialGroup()
//																		.addComponent(
//																				networkPanel,
//																				javax.swing.GroupLayout.PREFERRED_SIZE,
//																				javax.swing.GroupLayout.DEFAULT_SIZE,
//																				javax.swing.GroupLayout.PREFERRED_SIZE)
//																		.addPreferredGap(
//																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//																		.addComponent(
//																				sensorPanel,
//																				javax.swing.GroupLayout.PREFERRED_SIZE,
//																				javax.swing.GroupLayout.DEFAULT_SIZE,
//																				javax.swing.GroupLayout.PREFERRED_SIZE)
//																		.addPreferredGap(
//																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//																		.addComponent(
//																				searchPanel,
//																				javax.swing.GroupLayout.PREFERRED_SIZE,
//																				javax.swing.GroupLayout.DEFAULT_SIZE,
//																				javax.swing.GroupLayout.PREFERRED_SIZE)
//																		.addPreferredGap(
//																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
//																		.addComponent(
//																				controlPanel,
//																				javax.swing.GroupLayout.PREFERRED_SIZE,
//																				javax.swing.GroupLayout.DEFAULT_SIZE,
//																				javax.swing.GroupLayout.PREFERRED_SIZE)))
//										.addContainerGap()));
//
//		pack();
//	}// </editor-fold>//GEN-END:initComponents
//
//	private void radioButton_EnuActionPerformed(java.awt.event.ActionEvent evt) {// GEN
//		// -
//		// FIRST
//		// :
//		// event_radioButton_EnuActionPerformed
//		selectAlgorithm(Algorithms.Enumerate);
//	}// GEN-LAST:event_radioButton_EnuActionPerformed
//
//	private void radioButton_HCActionPerformed(java.awt.event.ActionEvent evt) {// GEN
//		// -
//		// FIRST
//		// :
//		// event_radioButton_HCActionPerformed
//		selectAlgorithm(Algorithms.HillClimbing);
//	}// GEN-LAST:event_radioButton_HCActionPerformed
//
//	private void radioButton_SAActionPerformed(java.awt.event.ActionEvent evt) {// GEN
//		// -
//		// FIRST
//		// :
//		// event_radioButton_SAActionPerformed
//		selectAlgorithm(Algorithms.SimulatedAnnealing);
//	}// GEN-LAST:event_radioButton_SAActionPerformed
//
//	private void radioButton_GAActionPerformed(java.awt.event.ActionEvent evt) {// GEN
//		// -
//		// FIRST
//		// :
//		// event_radioButton_GAActionPerformed
//		selectAlgorithm(Algorithms.GeneticAlgorithm);
//	}// GEN-LAST:event_radioButton_GAActionPerformed
//
//	private void button_resetActionPerformed(java.awt.event.ActionEvent evt) {// GEN
//		// -
//		// FIRST
//		// :
//		// event_button_resetActionPerformed
//		if (!lock) {
//			reset();
//		}
//	}// GEN-LAST:event_button_resetActionPerformed
//
//	private void button_TraceActionPerformed(java.awt.event.ActionEvent evt) {// GEN
//		// -
//		// FIRST
//		// :
//		// event_button_TraceActionPerformed
//		fileChooser = new JFileChooser(new File("."));
//		fileChooser.setPreferredSize(new Dimension(640, 480));
//		int returnVal = fileChooser.showOpenDialog(StartWin32.this);
//		if (returnVal == JFileChooser.APPROVE_OPTION) {
//			textField_TraceFile
//					.setText(fileChooser.getSelectedFile().getPath());
//		}
//	}// GEN-LAST:event_button_TraceActionPerformed
//
//	private void button_TopologyActionPerformed(java.awt.event.ActionEvent evt) {// GEN
//		// -
//		// FIRST
//		// :
//		// event_button_TopologyActionPerformed
//		fileChooser = new JFileChooser(new File("."));
//		fileChooser.setPreferredSize(new Dimension(640, 480));
//		int returnVal = fileChooser.showOpenDialog(StartWin32.this);
//		if (returnVal == JFileChooser.APPROVE_OPTION) {
//			textField_TopologyFile.setText(fileChooser.getSelectedFile()
//					.getPath());
//		}
//	}// GEN-LAST:event_button_TopologyActionPerformed
//
//	private void button_ReadActionPerformed(java.awt.event.ActionEvent evt) {// GEN
//		// -
//		// FIRST
//		// :
//		// event_button_ReadActionPerformed
//		if (!lock) {
//			boolean error = false;
//			//TODO
////			try {
////				fileReader = new FileReader(new File(textField_TraceFile
////						.getText()), new File(textField_TopologyFile.getText()));
////				fileReader.setConsole(console);
////			} catch (SSIDException e) {
////				console.println(e.getMessage());
////				error = true;
////			}
//			if (!error) {
//				new ReaderThread().start();
//			}
//		}
//	}// GEN-LAST:event_button_ReadActionPerformed
//
//	private void radioButton_PortSensorActionPerformed(
//			java.awt.event.ActionEvent evt) {// GEN-FIRST:
//		// event_radioButton_PortSensorActionPerformed
//		sensortype = SensorType.PortSensor;
//		sensortypestr = "PortSensor";
//	}// GEN-LAST:event_radioButton_PortSensorActionPerformed
//
//	private void radioButton_ProbeSensorActionPerformed(
//			java.awt.event.ActionEvent evt) {// GEN-FIRST:
//		// event_radioButton_ProbeSensorActionPerformed
//		sensortype = SensorType.ProbeSensor;
//		sensortypestr = "ProbeSensor";
//	}// GEN-LAST:event_radioButton_ProbeSensorActionPerformed
//
//	private void button_GAParamsFileActionPerformed(
//			java.awt.event.ActionEvent evt) {// GEN-FIRST:
//		// event_button_GAParamsFileActionPerformed
//		fileChooser = new JFileChooser(new File("."));
//		fileChooser.setPreferredSize(new Dimension(640, 480));
//		int returnVal = fileChooser.showOpenDialog(StartWin32.this);
//		if (returnVal == JFileChooser.APPROVE_OPTION) {
//			textField_GAParamsFile.setText(fileChooser.getSelectedFile()
//					.getPath());
//			gaReady = true;
//		}
//	}// GEN-LAST:event_button_GAParamsFileActionPerformed
//
//	private void button_searchActionPerformed(java.awt.event.ActionEvent evt) {// GEN
//		// -
//		// FIRST
//		// :
//		// event_button_searchActionPerformed
//		if ((!lock) && (ready)) {
//			if (!radioButton_GA.isSelected() || gaReady) {
//				new SearcherThread().start();
//			} else {
//				this.notready();
//			}
//		}
//		// else {
//		// this.notready();
//		// }
//	}// GEN-LAST:event_button_searchActionPerformed
//
//	private void reset() {
//		textField_TopologyFile.setText("");
//		textField_TopologyFile.setEditable(true);
//		textField_TraceFile.setText("");
//		textField_TraceFile.setEditable(true);
//		radioButton_PortSensor.doClick();
//		jSpinner1.setValue(new Integer(1));
//		radioButton_Enu.doClick();
//		console.reset();
//		ready = false;
//	}
//
//	private void notready() {
//		console.println("Not ready to search.");
//	}
//
//	private void selectAlgorithm(Algorithms al) {
//		switch (al) {
//		case Enumerate:
//			algorithm = Algorithms.Enumerate;
//			jLabel1.setEnabled(false);
//			jLabel2.setEnabled(false);
//			jLabel3.setEnabled(false);
//			jLabel4.setEnabled(false);
//			jLabel5.setEnabled(false);
//			jLabel6.setEnabled(false);
//			jTextField1.setEnabled(false);
//			jTextField1.setText("");
//			jTextField2.setEnabled(false);
//			jTextField2.setText("");
//			jTextField3.setEnabled(false);
//			jTextField3.setText("");
//			jTextField4.setEnabled(false);
//			jTextField4.setText("");
//			jTextField5.setEnabled(false);
//			jTextField5.setText("");
//			jTextField6.setEnabled(false);
//			jTextField6.setText("");
//			button_GAParamsFile.setEnabled(false);
//			textField_GAParamsFile.setEnabled(false);
//			textField_GAParamsFile.setText("");
//			break;
//		case HillClimbing:
//			algorithm = Algorithms.HillClimbing;
//			jLabel1.setEnabled(false);
//			jLabel2.setEnabled(true);
//			jLabel3.setEnabled(true);
//			jLabel4.setEnabled(true);
//			jLabel5.setEnabled(true);
//			jLabel6.setEnabled(true);
//
//			jTextField1.setEnabled(false);
//			jTextField1.setText("1");
//			jTextField1.setText("");
//
//			jTextField2.setEnabled(true);
//			jTextField2.setEditable(true);
//			jTextField2.setText("100");
//
//			jTextField3.setEnabled(true);
//			jTextField3.setEditable(true);
//			jTextField3.setText("30");
//
//			jTextField4.setEnabled(true);
//			jTextField4.setEditable(true);
//			jTextField4.setText("30");
//
//			jTextField5.setEnabled(true);
//			jTextField5.setEditable(true);
//			jTextField5.setText("10");
//
//			jTextField6.setEnabled(true);
//			jTextField6.setEditable(true);
//			jTextField6.setText("314");
//
//			button_GAParamsFile.setEnabled(false);
//			textField_GAParamsFile.setEnabled(false);
//			textField_GAParamsFile.setText("");
//			break;
//		case SimulatedAnnealing:
//			algorithm = Algorithms.SimulatedAnnealing;
//			jLabel1.setEnabled(true);
//			jLabel2.setEnabled(true);
//			jLabel3.setEnabled(true);
//			jLabel4.setEnabled(true);
//			jLabel5.setEnabled(true);
//			jLabel6.setEnabled(true);
//
//			jTextField1.setEnabled(true);
//			jTextField1.setEditable(true);
//			jTextField1.setText("97");
//
//			jTextField2.setEnabled(true);
//			jTextField2.setEditable(true);
//			jTextField2.setText("100");
//
//			jTextField3.setEnabled(true);
//			jTextField3.setEditable(true);
//			jTextField3.setText("30");
//
//			jTextField4.setEnabled(true);
//			jTextField4.setEditable(true);
//			jTextField4.setText("30");
//
//			jTextField5.setEnabled(true);
//			jTextField5.setEditable(true);
//			jTextField5.setText("10");
//
//			jTextField6.setEnabled(true);
//			jTextField6.setEditable(true);
//			jTextField6.setText("314");
//
//			button_GAParamsFile.setEnabled(false);
//			textField_GAParamsFile.setEnabled(false);
//			textField_GAParamsFile.setText("");
//			break;
//		case GeneticAlgorithm:
//			algorithm = Algorithms.GeneticAlgorithm;
//			jLabel1.setEnabled(false);
//			jLabel2.setEnabled(false);
//			jLabel3.setEnabled(false);
//			jLabel4.setEnabled(false);
//			jLabel5.setEnabled(false);
//			jLabel6.setEnabled(true);
//
//			jTextField1.setEnabled(false);
//			jTextField1.setText("");
//
//			jTextField2.setEnabled(false);
//			jTextField2.setText("");
//
//			jTextField3.setEnabled(false);
//			jTextField3.setText("");
//
//			jTextField4.setEnabled(false);
//			jTextField4.setText("");
//
//			jTextField5.setEnabled(false);
//			jTextField5.setText("");
//
//			jTextField6.setEnabled(true);
//			jTextField6.setEditable(true);
//			jTextField6.setText("314");
//
//			button_GAParamsFile.setEnabled(true);
//			textField_GAParamsFile.setEnabled(true);
//			textField_GAParamsFile.setEditable(true);
//			break;
//		default:
//			break;
//		}
//	}
//
//	private void concatenate(File newfile) throws FileNotFoundException {
//		Scanner fileScanner = new Scanner(newfile);
//		boolean printStartHere = false;
//		try {
//			while (fileScanner.hasNextLine()) {
//				String aLine = fileScanner.nextLine();
//				if (aLine.startsWith("Best Individual of Run")) {
//					printStartHere = true;
//				}
//				if (printStartHere) {
//					console.println(aLine);
//				}
//			}
//		} finally {
//			fileScanner.close();
//		}
//	}
//
//	/**
//	 * @param args
//	 *            the command line arguments
//	 */
//	public static void main(String args[]) {
//		/* Use an appropriate Look and Feel */
//		try {
//			// UIManager.setLookAndFeel(
//			// "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
//			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
//		} catch (UnsupportedLookAndFeelException ex) {
//			ex.printStackTrace();
//		} catch (IllegalAccessException ex) {
//			ex.printStackTrace();
//		} catch (InstantiationException ex) {
//			ex.printStackTrace();
//		} catch (ClassNotFoundException ex) {
//			ex.printStackTrace();
//		}
//		/* Turn off metal's use bold fonts */
//		UIManager.put("swing.boldMetal", Boolean.FALSE);
//
//		java.awt.EventQueue.invokeLater(new Runnable() {
//
//			public void run() {
//				new StartWin32().setVisible(true);
//			}
//		});
//	}
//
//	class ReaderThread extends Thread {
//		public void run() {
//			boolean error = false;
//			lock = true;
//			try {
//				fileReader.readTraceFile();
//				fileReader.readTopologyFile();
//				fileReader.process();
//			} catch (SSIDException e) {
//				console.println(e.getMessage());
//				error = true;
//			}
//			lock = false;
//			ready = !error;
//		}
//	}
//
//	class SearcherThread extends Thread {
//		public void run() {
//			lock = true;
//			int numberOfSensors = ((Integer) jSpinner1.getValue()).intValue();
//			TechInit tob = new TechInit();
//			switch (algorithm) {
//			case Enumerate:
//				EnuSearch exh = new EnuSearch(fileReader);
//				exh.setConsole(console);
//				console.println("Start searching now : "
//						+ StopWatch.getCurrentTime());
//				try {
//					exh.search();
//				} catch (FileNotFoundException e) {
//					console.println("ERROR: swap file is missing.");
//					break;
//				}
//				console.println(exh.print());
//				console.println("Search ends at : "
//						+ StopWatch.getCurrentTime());
//				break;
//			case HillClimbing:
//				tob.setSensorType(sensortype);
//				tob.setNumberOfSensors(numberOfSensors);
//				tob.setMaxTemperatureCycles(Integer.parseInt(jTextField2
//						.getText()));
//				tob.setMovesAtEachTemperature(Integer.parseInt(jTextField3
//						.getText()));
//				tob.setMaxIdleTemperatureCycles(Integer.parseInt(jTextField4
//						.getText()));
//				tob.setNumberOfRuns(Integer.parseInt(jTextField5.getText()));
//				tob.setSeed(Integer.parseInt(jTextField6.getText()));
//				tob.setNodes(fileReader.getTopology().nodes);
//				console.println("Start searching now : "
//						+ StopWatch.getCurrentTime());
//				try {
//					HCSearch hillclimbing = new HCSearch(tob);
//					hillclimbing.setConsole(console);
//					hillclimbing.search();
//				} catch (IOException e) {
//					console
//							.println("ERROR: unexpected IO error with HCs.stat file.");
//					break;
//				}
//				console.println("Search ends at : "
//						+ StopWatch.getCurrentTime());
//				break;
//			case SimulatedAnnealing:
//				tob.setSensorType(sensortype);
//				tob.setNumberOfSensors(numberOfSensors);
//				tob.setCoolingRate(Float.parseFloat(jTextField1.getText()));
//				tob.setMaxTemperatureCycles(Integer.parseInt(jTextField2
//						.getText()));
//				tob.setMovesAtEachTemperature(Integer.parseInt(jTextField3
//						.getText()));
//				tob.setMaxIdleTemperatureCycles(Integer.parseInt(jTextField4
//						.getText()));
//				tob.setNumberOfRuns(Integer.parseInt(jTextField5.getText()));
//				tob.setSeed(Integer.parseInt(jTextField6.getText()));
//				tob.setNodes(fileReader.getTopology().nodes);
//				console.println("Start searching now : "
//						+ StopWatch.getCurrentTime());
//				try {
//					SASearch sa = new SASearch(tob);
//					sa.setConsole(console);
//					sa.search();
//				} catch (IOException e) {
//					console
//							.println("ERROR: unexpected IO error with SAs.stat file.");
//					break;
//				}
//				console.println("Search ends at : "
//						+ StopWatch.getCurrentTime());
//				break;
//			case GeneticAlgorithm:
//				console
//						.println("Serialize the network topology to swap.dat file.");
//				try {
//					FileOutputStream fout = new FileOutputStream(SWAP);
//					ObjectOutputStream oos = new ObjectOutputStream(fout);
//					oos.writeObject(fileReader.getTopology());
//					oos.close();
//				} catch (Exception e) {
//					console
//							.println("ERROR: cannot serialize the network topology.");
//					break;
//				}
//				String[] args = new String[4];
//				args[0] = textField_GAParamsFile.getText();
//				args[1] = "seed.0=" + jTextField6.getText();
//				args[2] = "sensorType=" + sensortypestr;
//				args[3] = "pop.subpop.0.species.genome-size="
//						+ jSpinner1.getValue();
//				GASearch ga = new GASearch(args);
//				console.println("Start searching now : "
//						+ StopWatch.getCurrentTime());
//				console
//						.println("Runtime information is directed to your system console.");
//				console.println("Results will be displayed here afterward.");
//				ga.search();
//				try {
//					concatenate(new File("GAs.stat"));
//					console
//							.println("Details of evolution results are saved in GAs.stat file.");
//				} catch (FileNotFoundException e) {
//					console.println(e.getMessage());
//				}
//				console.println("Search ends at : "
//						+ StopWatch.getCurrentTime());
//				break;
//			default:
//				break;
//			}
//			lock = false;
//		}
//	}
//
//	// Variables declaration - do not modify//GEN-BEGIN:variables
//	private javax.swing.ButtonGroup buttonGroup_algorithms;
//	private javax.swing.ButtonGroup buttonGroup_sensors;
//	private javax.swing.JButton button_GAParamsFile;
//	private javax.swing.JButton button_Read;
//	private javax.swing.JButton button_Topology;
//	private javax.swing.JButton button_Trace;
//	private javax.swing.JButton button_reset;
//	private javax.swing.JButton button_search;
//	private javax.swing.JPanel controlPanel;
//	private javax.swing.JPanel infoPanel;
//	private javax.swing.JLabel jLabel1;
//	private javax.swing.JLabel jLabel2;
//	private javax.swing.JLabel jLabel3;
//	private javax.swing.JLabel jLabel4;
//	private javax.swing.JLabel jLabel5;
//	private javax.swing.JLabel jLabel6;
//	private javax.swing.JMenuItem jMenuItem1;
//	private javax.swing.JMenuItem jMenuItem2;
//	private javax.swing.JMenuItem jMenuItem3;
//	private javax.swing.JMenuItem jMenuItem4;
//	private javax.swing.JSpinner jSpinner1;
//	private javax.swing.JTextField jTextField1;
//	private javax.swing.JTextField jTextField2;
//	private javax.swing.JTextField jTextField3;
//	private javax.swing.JTextField jTextField4;
//	private javax.swing.JTextField jTextField5;
//	private javax.swing.JTextField jTextField6;
//	private javax.swing.JLabel label_amount;
//	private javax.swing.JLabel label_type;
//	private javax.swing.JMenuBar menuBar;
//	private javax.swing.JMenu menu_File;
//	private javax.swing.JMenu menu_Help;
//	private javax.swing.JPanel networkPanel;
//	private javax.swing.JRadioButton radioButton_Enu;
//	private javax.swing.JRadioButton radioButton_GA;
//	private javax.swing.JRadioButton radioButton_HC;
//	private javax.swing.JRadioButton radioButton_PortSensor;
//	private javax.swing.JRadioButton radioButton_ProbeSensor;
//	private javax.swing.JRadioButton radioButton_SA;
//	private javax.swing.JScrollPane scrollPane;
//	private javax.swing.JPanel searchPanel;
//	private javax.swing.JPanel sensorPanel;
//	private javax.swing.JTextArea textArea;
//	private javax.swing.JTextField textField_GAParamsFile;
//	private javax.swing.JTextField textField_TopologyFile;
//	private javax.swing.JTextField textField_TraceFile;
//	// End of variables declaration//GEN-END:variables
//}